package com.pengweiwei.androidzygote.functions.media;

import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import com.pengweiwei.androidzygote.R;
import com.putong35.common.baseactfrag.activity.BaseActivity;

import butterknife.ButterKnife;
import butterknife.OnClick;


/**
 * Created by Zoi.
 * E-mail：KyluZoi@gmail.com
 * 2016/6/8
 */
public class AudioPlayActivity extends BaseActivity {
    private final static String TAG = AudioPlayActivity.class.getSimpleName();

    public static void start(Context context) {
        Intent starter = new Intent(context, AudioPlayActivity.class);
        context.startActivity(starter);
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        ButterKnife.bind(this);
        setSwipeBackEnable(true);

    }

    @Override
    public View createDataView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.activity_audio_play, null);
        return view;
    }


    @OnClick({R.id.btnPlay, R.id.btnStop, R.id.btnNext, R.id.btnRing, R.id.btnPlayCallingUser, R.id.btnFollowNetAvaliable})
    public void onViewClicked(View view) {
        switch (view.getId()) {
            case R.id.btnPlay:
                break;
            case R.id.btnStop:
                AudioPlayer.stop(this);
                break;
            case R.id.btnNext:
                if (currPlayItem + 1 >= playList.length) {
                    Log.e(TAG, "play: out of range");
                    currPlayItem = 0;
                } else {
                    currPlayItem++;
                }
                int rawId = playList[currPlayItem];
                AudioPlayer.playRes(this, rawId);
                break;


            case R.id.btnRing:
                AudioPlayer.playRing(this);
                break;

            case R.id.btnPlayCallingUser:
                AudioPlayer.playCallUser(this);
                break;

            case R.id.btnFollowNetAvaliable:
                AudioPlayer.playNetworkEnable(this);
                break;
        }
    }


    int[] playList = new int[]{R.raw.callingsuser, R.raw.network_enabled, R.raw.callingsuser,
            R.raw.network_enabled, R.raw.callingsuser, R.raw.network_enabled};


    int currPlayItem = -1;

/*


    方案：定一个音乐特征值 Charactor： Normal， follow， force
    在播放的时候， 如果进入的音乐特征是 Normal， 当前的是Normal， 则当前的被stop， 开始播放新的音乐
    如果进入的音乐是：follow， 等待当前音乐播放完毕之后再播放新进入的音乐
    如果进入的音乐是：force，


    定义一个优先级：
    优先级 <  当前的， 继续播放当前，抛弃新来的
    优先级 >= 当前的， 停止播放当前，播放新来的

     暂定三个：low, standard, high

     定义类型：normal, follow
     normal类型就是按优先级来播放音乐
     follow类型是指：跟在当前播放音乐的后面播放，当前的音乐播放完了之后再播放新的。


*/



}
